package net.turnbig.wechat.bot;

/**
 * 
 *
 * @author Woo Cubic
 * @date   2017-05-10 16:27:44
 */
public enum LoginStatus {

	//@off
	WaitConfirm(201, "二维码扫描完成, 等待确认"), 
	Success(200, "登录成功"), 
	// 用户还没扫描二维码 , 微信服务器会延迟返回请求（20s左右），
	// 假如超过这个时间，还是没扫描，会返回 408
	// 请注意，如果多次返回408状态，可能二维码会超时，要重新生成二维码
	WaitScan(408, "等待扫描二维码"), 
	;
	//@on

	Integer value;
	String desc;

	LoginStatus(Integer value, String desc) {
		this.value = value;
		this.desc = desc;
	}

	public Integer getValue() {
		return value;
	}

	public String getDesc() {
		return desc;
	}

	public static LoginStatus from(Integer statusCode) {
		for (LoginStatus status : LoginStatus.values()) {
			if (status.getValue().equals(statusCode)) {
				return status;
			}
		}
		return null;
	}

}
